A haptic engine (also referred to as a vibration module) is a linear resonant actuator that determines one of acceleration, velocity and displacement of a moving mass. FIGS. 12A-12B show aspects of a conventional haptic engine (HE) in which position of a magnet (M), that is moving relative to a fixed coil (C), is encoded in the intensity of magnetic field flux and sensed by Hall-effect sensing elements (HSEs), also referred to interchangeably as HESs or simply Hall sensors, disposed on a top side of the coil, and on a bottom side of the coil. For example, a displacement ΔX along the x-axis and a displacement ΔZ along the z-axis of the magnet, that is moving relative to the fixed coil, is determined as:
                                          Δ            ⁢                                                  ⁢            X                    ∝                                    V                              H                top                                      +                          V                              H                btm                                                    ,                            (        1        )                                                      Δ            ⁢                                                  ⁢            Z                    ∝                                    (                                                V                                      H                    top                                                  -                                  V                                      H                    btm                                                              )                                      Δ              ⁢                                                          ⁢              X                                      ,                            (        2        )            where the magnetic field flux induces a Hall voltage VHtop in the Hall sensor disposed on the top side of the coil, and a Hall voltage VHbtm in the Hall sensor disposed on the bottom side of the coil.
As another example, the displacement ΔX of the magnet along the x-axis can be obtained as:ΔX=LUT(VH−ηI)  (3),where VH is voltage output by an HSE, I is a current through the driving coil C, and η is an EM coupling factor. VH is proportional to a magnitude B of a total field caused by the magnet and induced by the driving coil, while ηI is proportional to a magnitude of a field induced by the driving coil. In EQ. (3), the difference represents the Hall voltage due to the field caused only by the magnet. LUT is a look-up table mapping the measured value of the field caused only by the magnet and a corresponding value of the displacement.
FIG. 12C shows examples of errors of the displacement measurements for various frequencies of driving currents. For driving currents having frequencies in the mid-frequency range, a sensing error can be caused by the inaccuracy of η. As such, a conventional HE needs an external reference displacement sensor (e.g., laser or bEMF model fitting, etc.) for calibration, as shown in FIG. 12C.
For instance, bEMF can be determined conventionally using the driving coil itself, in the following manner:
                              bEMF          =                      V            -            RI            -                          L              ⁢                              dI                dt                                      -                          R              ⁢                                                          ⁢                              τ                ADC                            ⁢                              dI                dt                                                    ,                            (        4        )            where R and L are the resistance and inductance, respectively, of the driving coil. Here, the first term is the voltage across the driving coil, the second term is a driver term, and the third term is an inductance term. However, as shown in EQ. (4), accuracy of bEMF-based motion sensing is prone to a number of error sources. The coil resistance R is very sensitive to temperature changes and quantization error associated with analog-to-digital conversion (ADC). Typically, copper's temperature coefficient of resistance is approximately 0.4%/deg C. This can represent a large error source when the engine is operating in power-limited regime (away from resonance frequency) where bEMF can be approximately 10% of the RI term. Similarly, when R is estimated in real-time with very small signal magnitude (typically a calibration tone in kHz range), the estimation itself is also prone to errors of 1 to 10%. Another error source in Eq. (4) is the timing synchronization between driving coil voltage V and driving coil current I when an ADC delay τADC between the measured driving coil voltage V and measured driving coil current I is finite (i.e., non-zero). As such, for driving currents having frequencies in a high-frequency range, a finite false inductance term, given by the fourth term in EQ. (4), can be sensed as part of bEMF, as shown in FIG. 12C. Such timing synchronization can be expressed as
                                                        τ              D                        +                          τ              ADC                                ≈                                    L              +                              L                g                                      R                          ,                            (        5        )            where τD is the group delay between voltage and current caused by the inductance, and LE is the false inductance term caused by the ADC group delay.
Further, large offsets of the magnet's cage relative to one side of the HE's housing can produce dead-zones in displacement sensitivity, as shown in FIG. 12D. Furthermore, the conventional HE can be sensitive to temperature change. At least for the above reasons, the conventional HE shown in FIGS. 12A-12B requires external calibration, however, module to system test correlations can be elusive.